[INFO] cloning repository https://github.com/xlnx/myrpg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xlnx/myrpg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0979b38aa1e8ef9d77be4359e5347fecd4baf085
[INFO] fixing xlnx/myrpg against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xlnx/myrpg
[INFO] finished tweaking git repo https://github.com/xlnx/myrpg
[INFO] tweaked toml for git repo https://github.com/xlnx/myrpg written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xlnx/myrpg on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xlnx/myrpg already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8
[INFO] running `Command { std: "docker" "start" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   winapi v0.3.7 removed features: errhandlingapi, fileapi, knownfolders, minwinbase, ntsecapi, objbase, profileapi, shlobj, winerror
[INFO] [stderr]   winapi v0.3.7 (as host dependency) removed features: errhandlingapi, fileapi, knownfolders, minwinbase, ntsecapi, objbase, profileapi, shlobj, winerror
[INFO] [stderr] 
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling serde v1.0.91
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling ryu v0.2.8
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling winapi v0.3.7
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]     Checking serde_test v0.8.23
[INFO] [stderr]    Compiling linked-hash-map v0.5.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling approx v0.1.1
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]    Compiling yaml-rust v0.4.3
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling rust-ini v0.13.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rgb v0.8.13
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling ordered-float v1.0.2
[INFO] [stderr]    Compiling isatty v0.1.9
[INFO] [stderr]    Compiling directories v1.0.2
[INFO] [stderr]    Compiling tint v1.0.1
[INFO] [stderr]    Compiling typed-arena v1.4.1
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling pretty v0.5.2
[INFO] [stderr]    Compiling ref_thread_local v0.0.0
[INFO] [stderr]     Checking winconsole v0.10.0
[INFO] [stderr]    Compiling colored v1.8.0
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling serde-value v0.5.3
[INFO] [stderr]     Checking serde-hjson v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.91
[INFO] [stderr]    Compiling config v0.9.2
[INFO] [stderr]    Compiling ptree v0.2.1
[INFO] [stderr]     Checking lalr_util v0.1.0 (/opt/rustwide/workdir/src/lalr_util)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc_callback v0.1.0 (/opt/rustwide/workdir/src/proc_callback)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:432:36
[INFO] [stdout]     |
[INFO] [stdout] 432 |   ...                   panic!(format!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 433 | | ...                       "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] 434 | | ...                       symbol,
[INFO] [stdout] 435 | | ...                       prev,
[INFO] [stdout] 436 | | ...                       item
[INFO] [stdout] 437 | | ...                   ));
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             panic!(
[INFO] [stdout] 433 |                                 "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] ...
[INFO] [stdout] 436 |                                 item
[INFO] [stdout] 437 ~                             );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking myrpg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/lang.rs (3 fixes)
[INFO] [stderr]        Fixed src/lib.rs (4 fixes)
[INFO] [stderr]    Migrating tests/test.rs from 2018 edition to 2021
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 9
[INFO] [stdout]   Actions = 19
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 10
[INFO] [stdout]   Actions = 33
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.62s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: myrpg v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling winapi v0.3.7
[INFO] [stderr]     Checking winconsole v0.10.0
[INFO] [stderr]    Compiling colored v1.8.0
[INFO] [stderr]    Compiling lalr_util v0.1.0 (/opt/rustwide/workdir/src/lalr_util)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc_callback v0.1.0 (/opt/rustwide/workdir/src/proc_callback)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:432:36
[INFO] [stdout]     |
[INFO] [stdout] 432 |   ...                   panic!(format!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 433 | | ...                       "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] 434 | | ...                       symbol,
[INFO] [stdout] 435 | | ...                       prev,
[INFO] [stdout] 436 | | ...                       item
[INFO] [stdout] 437 | | ...                   ));
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             panic!(
[INFO] [stdout] 433 |                                 "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] ...
[INFO] [stdout] 436 |                                 item
[INFO] [stdout] 437 ~                             );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking myrpg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `VecDeque::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/lib.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let _ = states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `VecDeque::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/lib.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let _ = states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 9
[INFO] [stdout]   Actions = 19
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 10
[INFO] [stdout]   Actions = 33
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / lang! {
[INFO] [stdout]  4 | |
[INFO] [stdout]  5 | |     Name = IfExpr
[INFO] [stdout]  6 | |     ValueType = i32
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / lang! {
[INFO] [stdout]  4 | |
[INFO] [stdout]  5 | |     Name = IfExpr
[INFO] [stdout]  6 | |     ValueType = i32
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / lang! {
[INFO] [stdout]  4 | |
[INFO] [stdout]  5 | |     Name = IfExpr
[INFO] [stdout]  6 | |     ValueType = i32
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / lang! {
[INFO] [stdout]  4 | |
[INFO] [stdout]  5 | |     Name = IfExpr
[INFO] [stdout]  6 | |     ValueType = i32
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / lang! {
[INFO] [stdout]  4 | |
[INFO] [stdout]  5 | |     Name = IfExpr
[INFO] [stdout]  6 | |     ValueType = i32
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / lang! {
[INFO] [stdout] 44 | |
[INFO] [stdout] 45 | |     Name = SrcLocExpr
[INFO] [stdout] 46 | |     ValueType = ()
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / lang! {
[INFO] [stdout] 44 | |
[INFO] [stdout] 45 | |     Name = SrcLocExpr
[INFO] [stdout] 46 | |     ValueType = ()
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / lang! {
[INFO] [stdout] 44 | |
[INFO] [stdout] 45 | |     Name = SrcLocExpr
[INFO] [stdout] 46 | |     ValueType = ()
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / lang! {
[INFO] [stdout] 44 | |
[INFO] [stdout] 45 | |     Name = SrcLocExpr
[INFO] [stdout] 46 | |     ValueType = ()
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> tests/test.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / lang! {
[INFO] [stdout] 44 | |
[INFO] [stdout] 45 | |     Name = SrcLocExpr
[INFO] [stdout] 46 | |     ValueType = ()
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `lang` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> tests/test.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     SRC_LOC => r";" => |tok, ctrl| {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `myrpg` (test "test") due to 10 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8", kill_on_drop: false }`
[INFO] [stdout] 0658a6a624c37c95d4c43556f42d1550f4ffd5ae0e7655cb33a6bd817f85edf8
